﻿package mortal.game.resource
{
    import com.gengine.debug.*;
    import com.gengine.resource.*;
    import flash.utils.*;
    import mortal.game.resource.configBase.*;
    import mortal.game.view.common.*;
    import mortal.game.view.common.guide.data.*;

    public class AutoGuideConfig extends ConfigBase
    {
        private static var _instance:AutoGuideConfig;

        public function AutoGuideConfig()
        {
            super("autoGuide.xml");
            return;
        }// end function

        public function getGuideCodes_TaskGuide() : Object
        {
            var _loc_4:AutoGuideData = null;
            var _loc_1:Object = {};
            var _loc_2:* = getConfigs(["guideType"], ["newFunc"]);
            var _loc_3:int = 0;
            while (_loc_3 < _loc_2.length)
            {
                
                _loc_4 = _loc_2[_loc_3];
                if (_loc_4 == null)
                {
                }
                else
                {
                    _loc_1[_loc_4.guideTypeValue] = _loc_4.mainId;
                }
                _loc_3++;
            }
            return _loc_1;
        }// end function

        override protected function initConfig(param1:String) : void
        {
            var _loc_3:Array = null;
            var _loc_8:Object = null;
            var _loc_9:Object = null;
            var _loc_2:* = ConfigConst.map[param1];
            if (_loc_2 == null || _loc_2 == "")
            {
                Log.debug("在ConfigConst.map中找不到：" + param1 + "的配置");
            }
            _loc_3 = _loc_2.split(";");
            var _loc_4:* = _loc_3[0];
            var _loc_5:* = getDefinitionByName(_loc_4) as Class;
            if (_loc_5 == null)
            {
                Log.debug("找不到类名定义：" + _loc_4);
            }
            _data = new Dictionary();
            var _loc_6:* = ConfigManager.instance.getJSONByFileName(param1).root.guide as Array;
            if (_loc_6 == null)
            {
                Log.debug("ConfigFiles: 加载不到配置文件:" + param1);
                return;
            }
            var _loc_7:int = 0;
            for each (_loc_8 in _loc_6)
            {
                
                _loc_9 = new _loc_5;
                ClassTypesUtil.copyValue(_loc_9, _loc_8);
                var _loc_12:* = _loc_7 + 1;
                _data[_loc_12] = _loc_9;
            }
            if (_loc_3.length >= 2)
            {
                addMainCache(String(_loc_3[1]));
            }
            return;
        }// end function

        public static function get instance() : AutoGuideConfig
        {
            if (_instance == null)
            {
                _instance = new AutoGuideConfig;
            }
            return _instance;
        }// end function

    }
}
